package com.promise.jokerdream.ui.theme

import androidx.compose.ui.graphics.Color

/**
 * 应用颜色定义
 * 统一管理所有颜色常量
 */
object AppColors {
    
    // ========== 基础颜色 ==========
    val White = Color.White
    val Black = Color.Black
    val Transparent = Color.Transparent
    
    // ========== 灰色系列 ==========
    val Gray50 = Color(0xFFFAFAFA)
    val Gray100 = Color(0xFFF5F5F5)
    val Gray200 = Color(0xFFEEEEEE)
    val Gray300 = Color(0xFFE0E0E0)
    val Gray400 = Color(0xFFBDBDBD)
    val Gray500 = Color(0xFF9E9E9E)
    val Gray600 = Color(0xFF757575)
    val Gray700 = Color(0xFF616161)
    val Gray800 = Color(0xFF424242)
    val Gray900 = Color(0xFF212121)
    
    // ========== 状态颜色 ==========
    val Success = Color(0xFF4CAF50)
    val Warning = Color(0xFFFF9800)
    val Error = Color(0xFFF44336)
    val Info = Color(0xFF2196F3)
    
    // ========== 选中状态颜色 ==========
    val Selected = Color(0xFF4CAF50) // 绿色
    val Unselected = Color(0xFF9E9E9E) // 灰色
    
    // ========== 页面背景色 ==========
    val PageBackground = Gray100
    val CardBackground = White
    val SurfaceVariant = Color(0xFFF5F5F5)
    
    // ========== 输入框相关颜色 ==========
    val InputFieldBackground = Color(0xFFF8F9FA) // 浅灰色背景
    val InputFieldBorder = Color(0xFFE0E0E0) // 边框颜色
    val InputFieldFocusedBorder = Color(0xFF2196F3) // 聚焦时边框颜色（天空蓝）
    val InputFieldPlaceholder = Color(0xFF9E9E9E) // 占位符颜色
    
    // ========== 文本颜色 ==========
    val TextPrimary = Color(0xFF212121)
    val TextSecondary = Color(0xFF757575)
    val TextHint = Color(0xFFBDBDBD)
    val TextOnPrimary = White
    val TextOnSurface = Color(0xFF1C1B1F)
    
    // ========== 状态背景色 ==========
    val SuccessBackground = White
    val ErrorBackground = White // 失败也用白色背景，更和谐
    val WarningBackground = Color(0xFFFFF3E0)
    val InfoBackground = Color(0xFFE3F2FD)
    
    // ========== 状态文本颜色 ==========
    val SuccessText = TextPrimary
    val ErrorText = Color(0xFFD32F2F) // 深一点的红色用于信息
    val ErrorBorder = Color(0xFFFFCDD2) // 浅红色边框
    
    // ========== 特殊用途颜色 ==========
    val Primary = Color(0xFF2196F3) // 天空蓝主题
    val PrimaryVariant = Color(0xFF1976D2) // 深天空蓝变体
    val Secondary = Color(0xFF03DAC6)
    val SecondaryVariant = Color(0xFF018786)
}
